1. Field of the Invention
The present invention relates to a computer program product, system, and method for distributed processing of a query with distributed posting lists.
2. Description of the Related Art
A typical search query may be represented as a query expression tree of terms in some arbitrary combination of conjunction or disjunction with explicit or implicit precedence. Sub-trees of the query expression tree, referred to herein as sub-expressions, may be separately and parallel processed, and the results of the separately processed sub-expressions correctly combined as dictated by the query expression tree to obtain the final query result. The sub-expressions may be sent to separate processors, in some cases standard processing units referred to as Central Processing Units or in other cases referred to as General Purpose Graphical Processing Units (GPUs) or a combination of both, to independently and parallel process the sub-expressions. The GPUs or CPUs may host an entire search index of terms that may be included in the queries. However, limited memory sizes of the GPUs may limit the ability of GPUs to process sub-expressions when the term index becomes substantially large, such as may occur with enterprise applications where there are numerous documents whose terms are indexed.
There is a need in the art for improved techniques for managing the dispatching of sub-expressions to remote distributed processing elements, such as CPUs or GPUs, to process.